package com.fulihui.systemcore.repository;

import com.fulihui.systemcore.dto.AreasDTO;

import java.util.List;

/**
 * 区域仓储
 *
 * @author Willard.Hu on 2016/11/29 0029.
 */
public interface AreasRepository {

    /**
     * 代码查询地址信息
     *
     * @param code 代码
     * @return {@link AreasDTO} 地址信息
     */
    AreasDTO queryByCode(String code);

    /**
     * 查询全部省份
     *
     * @return {@link AreasDTO} 省份列表
     */
    List<AreasDTO> queryProvionceList();

    /**
     * 查询省份下的全部市县
     *
     * @param provCode 省份代码
     * @return {@link AreasDTO} 市县列表
     */
    List<AreasDTO> queryCityList(String provCode);

    /**
     * 查询城市下的全部区域
     *
     * @param cityCode 市县代码
     * @return {@link AreasDTO} 区域列表
     */
    List<AreasDTO> queryDistrictList(String cityCode);

    /**
     * 查询区域下的所有街道
     *
     * @param distCode 区域代码
     * @return {@link AreasDTO} 街道列表
     */
    List<AreasDTO> querySubdistrictList(String distCode);

}
